perm filename PAPERA.11[DOC,TOB] blob
sn#028318 filedate 1973-03-02 generic text, type T, neo UTF8
00100 COMPUTER VISION
00200
00300 Thomas O. Binford, Stanford University
00400 and
00500 Jay M. Tenenbaum, Stanford Research Institute
00600
00700
00800 Introduction
00900
01000 "Intelligent" computers require knowledge of their environment, and the
01100 most effective means of acquiring such knowledge is by seeing. Vision
01200 opens a new realm of computer applications. Weather analysis from
01300 cloud maps and medical diagnosis from x-rays and blood cell counts
01400 are two of many high volume data processing tasks that require
01500 pictorial input. Man-machine communication will be facilitated if a
01600 person can directly show the computer a real object, rather than
01700 describe it symbolically. Designers, for example, could
01800 then easily obtain a computerized structural analysis of scale
01900 models.
02000
02100 A particularly exciting area of application is industrial automation.
02200 Today in industry there are hundreds of machines called industrial
02300 robots. These programmable manipulators can repetitively execute a
02400 precise sequence of motions, but have no sensors and are thus unable
02500 to react dynamically to contingencies. Simple sensors and a
02600 minicomputer could, at slight additional cost, turn these
02700 manipulators into true robots. With primitive visual skills,machines
02800 could align mating parts in assembly operations, increase reliability
02900 by self-calibration, detect flaws and avoid disasters. Vision will
03000 also minimize the present need for precise positioning of parts at
03100 each work station; parts could instead be transported in a bin and
03200 picked out as needed.
03300
03400 The study of perception also provides valuable insights into human
03500 and machine information processing. Many of the problems encountered
03600 are fundamental to intelligent activity: How is knowledge represented? How
03700 does it guide in drawing conclusions from perceptual data? How does
03800 existing knowledge interact with conclusions drawn from an image to
03900 acheive learning? Questions that arise in the implementation of vision
04000 systems have broad relevance to computer science: How shoulc a
04100 complex task be partitioned into modules? How should the modules
04200 communicate to share their knowledge and special capabilities? How
04300 should systems with highly interdependent modules be structured to
04400 facilitate modification?
04500
04600 Techniques developed for machine perception cannot be taken literally
04700 as models for biological systems because of differences in hardware
04800 and gaps in our knowledge. However, fundamental limitations are
04900 shared, suggesting that some of the principles might also be found in
05000 nature. Computer vision research may, in turn, occasionally borrow from biology,
05100 but we cannot copy nature, since again, the details are not yet known
05200 and the hardware is different.
05300
05400
05500 Historically, computer vision emerged from the study of two
05600 dimensional pattern recognition. However, it is seldom possible to
05700 apply the mathematical formalisms developed for classification to the
05800 analysis of real scenes. Consider the visual requirements for an
05900 organism such as a robot. It must manipulate or avoid objects, not
06000 just classify them. Manipulation requires three-dimensional
06100 interpretations and spatial relations of objects. In problems such as
06200 character recognition, it was attractive to simply save images or
06300 feature vectors, and then match against an image or part of an image. But
06400 in real scenes, objects occlude one another, they have parts with
06500 joints that move separately, there are many viewpoints, many possible
06600 objects, and many combinations of objects. Object classes, moreover,
06700 are often defined by function, not shape (e.g., the class of coffee
06800 cups). Direct template matching techniques are impractical for
06900 these requirements, except in very carefully controlled applications.
07000 Perception involves complex deductions in order to understand an image in
07100 terms of a priori knowledge of the world.
07200 ELEMENTS OF A VISUAL SYSTEM
07300
07400 The computer eye is usually some form of TV camera with color filters and a
07500 turret or zoom lens for closeup views. The computer controls
07600 filters, lens and other parameters to optimize the image for each
07700 task [1]. A recent study has suggested alternative
07800 sensors to overcome the inadequate dynamic range of television
07900 systems [2]. Range information greatly simplifies the
08000 interpretation of scenes. Humans use depth information obtained from
08100 stereo and a variety of inferred cues such as motion parallax and the
08200 size of known objects. Since these techniques require subtantial
08300 processing, it is easier for machines to obtain depth by direct
08400 measurement. Several depth sensors based on triangulation have been
08500 built [3, 4].
08600
08700 A TV image is read into memory as an array of brightness values
08800 (typically 300x300) with 4 to 8 bits for each sample for each color. Computer
08900 vision can be thought of as the process of transforming this mass of numbers into a symbolic
09000 description. The translation process can be subdivided into segmentation,
09100 representation, and interpretation.
09200
09300 The process of segmentation partitions a scene into meaningful
09400 entities that may be recognizable. Segmentation in character
09500 recognition is simple since printed characters are spatially
09600 separated and have high contrast with white paper. It is harder to
09700 segment objects in a real scene (even simple scenes) since objects
09800 may overlap and will not usually be separable from the local
09900 background by a single attribute like brightness contrast. Instead,
10000 segmentation must proceed by seeking regions of uniform brightness,
10100 color, or texture (itself a complex descriptor), or regions with
10200 regular boundaries. Segmentation may also depend on inferred depth
10300 cues (e.g., texture gradients or suspected occlusion).
10400
10500 In what form can we represent objects internally in the computer? The
10600 simplest form is a pictorial template, an array of brightness values
10700 to be matched directly against fragments of scenes by correlation.
10800 Given the inadequacies of this representation, we must describe
10900 partitioned regions symbolically in terms of extracted features such as
11000 color, size, texture, and shape. All these properties are inferred
11100 from the image by complex processes. Simple descriptors for shape or
11200 texture may be used in simple tasks and limited context. Shape might
11300 be described by the ratio of the squared perimeter to the area of a
11400 region. More sophisticated shape representations, needed for a wider
11500 range of tasks, are described later.
11600
11700 Interpretation is often expressed as computing a distance measure
11800 between an object and a stored model. For simple cases that approach can be
11900 useful. When objects are occluded, there must be a partial match.
12000 When objects are not identical, judgments of similarity depend on
12100 representation of shape and representation of the task, in order to
12200 define important differences. The most useful approach is to build
12300 up symbolic descriptions and make symbolic descriptions of
12400 differences. Sometimes there are sufficiently few models that matching
12500 with each model is possible. More generally, the observed features
12600 must first be used to retrieve likely models from a large visual
12700 memory.
12800
12900 The integration of segmentation, representation and interpretation to
13000 achieve perception is illustrated by a system built at the University
13100 of Edinburgh [5] that can recognize a small set of
13200 ordinary objects such as pencils, eyeglasses and teacups. Objects
13300 are presented against a contrasting background. Segmentation is
13400 achieved by partitioning the scene into regions of uniform
13500 brightness. Objects are represented by relational graphs detailing
13600 gross attributes (e.g., size and shape) of their principal regions and pairwise
13700 constraints between these regions (e.g., above, larger than). Interpretation is accomplished by
13800 mapping the relational graph descriptions of known objects onto the
13900 segmented regions obtained from the scene and seeking the best match.
14000
14100 Experience with early bottom-up systems of this type led to the
14200 realization that the three basic processes of a perceptual system
14300 were highly interdependent; one cannot proceed sequentially through
14400 segmentation, representation, and interpretation and expect to obtain
14500 a globally consistent interpretation for all objects in a scene. One
14600 problem is that no reliable basis exists for judging the global
14700 significance of segmentation boundaries using local similarity
14800 criteria. Segmentation must be guided by interpretation to choose
14900 among many alternative partitionings, the alternative that leads to a globally
15000 consistent and reasonable description of the scene. A nice exposition
15100 of these ideas is given by Minsky [6].
15200
15300 BLOCKS WORLD
15400
15500 To avoid some of these difficulties, research concentrated initially
15600 on scenes of toy blocks. Roberts' [7] important work opened the
15700 field. Objects were represented as built up of three primitive
15800 parts, a block, a wedge, and a hexagonal prism. The program assumed that
15900 it would first obtain perfect line drawings. Interpretation meant
16000 choosing a stored three-dimensional model which, after translation,
16100 rotation, and scaling, could be projected to match part of the image.
16200 The recognized piece was then cut away and the remainder considered.
16300 Primitives were represented by their vertices in three dimensions. To
16400 decide on likely image points that belonged to a single body, the
16500 program attempted to identify unobscured polygons, and then match sets of
16600 vertices to topologically similar model vertices. Line drawings were
16700 formed by a sequence of local operations. Candidate edge points were
16800 considered by thresholding the gradient of intensity. Isolated edge
16900 points were discarded. Connected line fragments were concatenated
17000 into lines that were segmented at corners by a sequential least
17100 squares line fit. Merging of colinear lines bridged some gaps.
17200
17300 That system organization has proven inadequate. It is not enough to
17400 use models and template matching. Producing perfect line drawings is
17500 not practical. Some lines are missed; shadows, reflections and
17600 surface markings cause extra lines; errors made at one stage are
17700 compounded by later stages. These deficiencies motivated subsequent
17800 research.
17900
18000 Guzman [8] found it possible to segment complex scenes into
18100 objects without template matching, by observing that some vertices
18200 give local evidence that adjacent regions belong to the same body. In
18300 Figure 1, vertices A,B,C,E,G,H and I give evidence that adjacent
18400 regions belong to the same body, while vertex F does not. Vertex D,
18500 which resembles G, gives misleading evidence. To avoid such
18600 coincidences, the program required confirmation. Regions linked
18700 twice were joined into clusters; regions linked twice to a cluster
18800 were also joined. Regions linked only to a single cluster were also
18900 joined to that cluster. Eventually the program evolved to include
19000 inhibitions against certain links by requiring similar conditions at
19100 both ends of a line. Other links were introduced without much
19200 motivation.
19300
19400 This program was an important advance. Bodies could be segmented
19500 without recognition and without explicit models. The program did
19600 surprisingly well, but had problems with holes and other
19700 non-convexities, and with accidental alignment. being told the
19800 background. Guzman also could not cope well with imperfect line
19900 drawings. For example, in the case of Figure 2 his program would fail because a missing line
20000 makes region R3 common to both the block and wedge. Falk [9] was
20100 able to avoid some of the errors associated with missing boundaries
20200 by using an approach resembling Guzman's to link line segments likely to
20300 belong to the same object instead of regions.
20400
20500 The limited generality of both these programs was due to the fact
20600 that they were implemented as a collection of ad hoc heuristics for
20700 segmentation with no explicit understanding of line drawings. Thus,
20800 while Falk himself realized that regions like R3 were non-planer and
20900 could not arise in a scene containing only trihedral solids, his
21000 program could not reason at this level. Huffman [10] and Clowes
21100 [11] made theoretical analyses of objects with only trihedral
21200 vertices (three planes at each vertex). Using these analyses, edges could be classified at each
21300 vertex as convex, concave and obscuring. Some drawings could then be
21400 rejected as impossible if a given line was not consistently labeled
21500 at each end. Waltz [12] expanded that labeling of lines to include
21600 cracks and whether adjacent regions were shadowed or illuminated.
21700 Since each vertex could have many interpretations. it would seem that
21800 a search for consistent labelings would be unmanageable. Instead,
21900 the increased precision of descriptions allows rapid discarding of
22000 wrong interpretations. Not only are solutions possible, they are
22100 quickly obtained. Instead of a complete tree search, it was adequate
22200 to consider vertices in sequence, eliminating inconsistent
22300 interpretations as each new vertex was added. This produced all
22400 possible interpretations of a scene. However,
22405 in cases with ambiguous interpretations
22450 some evaluations could be made to choose
22500 reasonable interpretations.
22650 A detailed survey of the work through
22700 Huffman appears in a recent text by Duda and Hart [13].
22800
22900
23000
23100
23200
23300 The best performance in extracting line drawings from television
23400 images of polyhedra is given by the Shirai [14] and the
23500 Binford-Horn [15] line finders. Shirai's system performs
23600 better, but requires large contrast between objects and background
23700 (e.g., white on black), and finds only features and objects for which
23800 cues are available from context. The Binford-Horn system is able
23900 to find most lines in a scene of white blocks on a white background
24000 in arbitrary lighting. It misses a few lines, which can usually be
24100 inferred from those that were found, and garbles some vertices.
24200 The two systems are complementary and should be combined.
24300
24400 The two programs are based on different principles. Shirai's program
24500 first found the outer boundaries of an object or cluster of objects.
24600 It then tried to guess additional lines that were parallel,
24700 perpendicular, or extensions to lines already found. Search for
24800 missing lines concentrated around vertices in the preliminary drawing
24900 where they would be most likely found. The use of context involved
25000 not changing thresholds, but using special-purpose operators--e.g., verify
25100 a line at known position and angle; find a line through a vertex.
25200 Figure 3 illustrates the complexity of scenes handled by Shirai's
25300 program. The Binford-Horn system was intended to provide the base for
25400 a system such as Shirai's by providing a partial line drawing without
25500 special assumptions about the scene. It used a local directional
25600 edge operator and an optimal sequential decision process to group the
25700 edge points into continuous curves.
25800
25900 It is interesting to compare these systems with biological ones. The
26000 directional edge operators [16], which are scanned over the image, are
26100 analogous to the edge-detector cells discovered by Heubel and
26200 Wiesel[17] in higher animals. In practice, large brightness
26300 gradients at reflections and on curved surfaces cause masses of
26400 spurious edge fragments. Smooth gradients are eliminated by
26500 subtracting the local average at each point, a process similar to
26600 lateral inhibition in the retina of animals.
26700
26800
26900
27000 REAL-WORLD VISION
27100
27200
27300
27400 The blocks world illustrates many basic aspects of machine
27500 perception. However, since many critical problems encountered in
27600 perceiving real-world scenes do not arise in the blocks world, few of the techniques
27700 developed extend to the real-world domain. For example:
27800
28100 (1) The region-growing and edge-finding techniques developed for uniformly painted blocks
28200 cannot cope with the textures and variations of brightness that
28300 predominate in the real world.
28400
28500 (2) The precise topological descriptions that characterized simple
28600 polyhedra are inappropriate or unobtainable for complex real world
28700 objects such as trees.
28800
28900 (3) Interpretation by exhaustively matching all known prototypes
29000 against each segmented body is not feasible with large numbers of
29100 objects and cluttered scenes.
29200
29300 Description of simple polyhedral scenes was difficult enough; with
29400 these added obstacles, is there hope for success in perceiving the
29500 real world? Perception in the blocks world sought a complete
29600 description of everything present. It may not be possible (or even
29700 meaningful) to obtain exhaustive descriptions of real scenes.
29800 However, complete descriptions are seldom needed; a system is
29900 typically concerned with only a few objects required to complete a
30000 specific task.
30100
30200 For blocks, we restricted our programs to black and white images and
30300 distinguished structures of blocks solely on the basis of shape. In
30400 the real world, there is a tremendous redundancy of visual cues. We
30500 can use color, texture, depth, size, and surface orientation, as well
30600 as shape, whichever distinguishes a particular object most
30700 effectively.
30800
30900 Real-world objects are usually found in well defined contexts--e.g.,
31000 telephones are expected on tables but not in waste baskets.
31100 Recognition of a few prominent landmarks, combined with a priori
31200 knowledge of the environment can thus severely restrict what objects
31300 may be present in each part of the scene. While these objects may be
31400 difficult to describe, there will usually be sufficient cues
31500 available to discriminate easily among the alternatives. Often,
31600 very gross descriptions of complex attributes such as shape will suffice
31700 to discriminate among a limited number of grossly different
31800 alternatives (e.g., a person can be distinguished from a dog simply
31900 by the predominantly vertical orientation of a human body).
32000
32100 Real-world vision can be viewed as a strategy problem: Given a task,
32200 first decide where to look for objects of interest and then decide
32300 how to distinguish them from other objects that might also be
32400 present. The system must limit interpretations to a small subset of
32500 possible objects, selected on the basis of a priori expectations and
32600 crude descriptions of the scene. Segmentation can be based on
32700 attributes that are known to be uniform over these objects. The key
32800 problems of information overload are overcome by tightly coordinating
32900 segmentation and interpretation with world knowledge and task goals.
33000 The overload problem cannot be solved by merely building faster computers and
33100 bigger memories; hardware improvements will aid adequate techniques
33200 but do little for exhaustive techniques.
33300
33400 The principal work to date on real world vision has concentrated on
33500 segmentation and representation. Segmentation of textured scenes has
33600 been studies as a two-dimensional problem for agricultural and earth
33700 resource survey applications. Bajcsy [18] has analyzed outdoor
33800 scenes with perspective, where three-dimensional texture descriptions
33900 are important. Textures were described hierarchically in terms
34000 of simpler texture elements and their spatial relationships.
34100 Descriptors for texture elements and relations were derived from
34200 Fourier analysis. Typical attributes were directionality (if any),
34300 size, contrast, and spacing of texture elements. The Fourier
34400 transform was found troublesome,however, and color descriptors were
34500 added to improve performance. Some depth relations could be observed
34600 from texture gradient. An attempt was made to obtain consistent
34700 interpretations by first confirming region boundaries by independent
34800 properties, making three-dimensional interpretations, and matching
34900 region descriptors with those of sky, trees, grass, etc. in a world
35000 model.
35100
35200 The quality of interpretation was limited by unreliability of
35300 region-growing processes. Further work in outdoor scenes attempts to
35400 incorporate the world model and interpretation into the region
35500 growing process. Regions are merged not only because of similarity of
35600 properties, but because the consistency of semantic interpretation is
35700 improved.
35800
35900
36000 Typical robot tasks such as manipulation, collision avoidance,
36100 display, and recognition were analyzed to determine computational
36200 primitives required for descriptions of shape. Although some would
36300 disagree, our criteria for shape representation are [19]:
36400
36500 (1) Representations should be symbolic at a high level in order to
36600 interface with knowledge of the problem domain.
36700
36800 (2) Representations should depend on segmentation into parts, which
36900 may have sub-parts.
37000
37100 (3) Primitives should be three-dimensional volume descriptions, rather
37200 than surface descriptions, to allow a natural choice of parts.
37300
37400 (4) Descriptions should be generative. A modest collection of
37500 primitives should allow description of a vast set of objects.
37600
37700 We will outline one representation that fulfils these desiderata for
37800 a large class of curved objects. Objects are described in terms of
37900 components that are simple to describe, and the relationships of
38000 these parts. A useful shape primitive for many curved objects is an
38100 arbitrary space curve, and normal cross-sections along this axis
38200 (Figure 4). Snake-like objects, helices, toroids, and locally
38300 helical and toroidal shapes are naturally described [19]. Our
38400 basic definition of a simple piece is that the direction of its axis
38500 be continuous and that the cross-section function along that axis be
38600 continuous. We look for large changes in the cross-section, and
38700 consider them as likely places for segmenting the object. The
38800 segmentation process must be flexible and able to generate alternative
38900 propositions. A higher-level routine will ultimately select from
39000 the alternatives. Figure 5 shows an experimentally obtained
39100 computer description of a doll [3].
39150
39200 INDUSTRIAL APPLICATIONS
39300
39400 Recently, several laboratories have begun to apply techniques from
39500 perception research to practical industrial tasks. Stanford
39600 University has demonstrated simple assembly operations using vision
39700 and touch. General Motors laboratories has succeeded in mounting a
39800 wheel on an axle. Stanford Research Institute and Hitachi Ltd. have
39900 each demonstrated systems that can distinguish sheet metal parts on
40000 a moving conveyor belt and determine their orientation to enable
40100 manipulation. Template-matching techniques were used to take
40200 advantage of the two-dimensional nature of these tasks. Moreover, the
40300 conveyor demonstrations relied on the contrast between shiny metallic
40400 parts and the black belt to simplify segmentation. Many industrial
40500 processes share similar constraints or can be readily redesigned to
40600 do so. We thus expect a proliferation of industrial applications of
40700 computer perception in the near future.